package net.messagenet.mazor.infra.excel;

import java.io.IOException;

import jxl.read.biff.BiffException;
import net.messagenet.mazor.DO.DpaDO;
import net.messagenet.mazor.DO.PosDO;
import net.messagenet.mazor.exception.MZRInternalServerException;
/**
 * This interface used by the engine performs the operation on the excel sheets
 * 
 * @author Idan
 *
 */

public interface ExcelManager {
	
	/**
	 * This method creates a new excel sheet according to a dpa data object
	 * 
	 * @param dpa
	 * @param file name - the file of the dpa
	 * @return the full path of the file that was created
	 * @throws MZRInternalServerException
	 */
	public String createDPARequestSheet(DpaDO dpa, String string) throws MZRInternalServerException;
	
	/**
	 * This method reads the excel documents when it returns 
	 * it is expected to contain the expiration date . the dpa id in the mazor system
	 * and the dpa id
	 * 
	 * @param file
	 * @return
	 * @throws BiffException
	 * @throws IOException
	 */
	public DpaExcelData readDPADataFromFile(String file) throws BiffException, IOException;
	/**
	 * This method creates a new excel sheet according to a pos data object
	 * 
	 * @param fileName- the file name of pos object 
	 * @param pos
	 * @return the full path of the file that was created
	 * @throws MZRInternalServerException
	 */
	public String createPOSRequestSheet(PosDO posDo, String fileName) throws MZRInternalServerException;
}
